package com.im;

import javax.swing.text.AttributeSet;
import javax.swing.text.PlainDocument;

// 限制文档
@SuppressWarnings("serial")
public class LimitDocument extends PlainDocument {
    private int mLimit; // 限制的长度
 
    /**
     * 构造方法。
     * @param limit 限制的长度
     */
    public LimitDocument(int limit) {
        super();
        mLimit = limit;
    }

    /**
     * 插入字符串。
     * @param offset    位移
     * @param str       要插入的字符串
     * @param attr      属性
     */
    @Override
    public void insertString(int offset, String str, AttributeSet attr) {
        if (str == null) {
            return;
        }
        if (super.getLength() + str.length() <= mLimit) {
            try {
                super.insertString(offset, str, attr);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
